package com.qd.common.panda.domain.entity.stroke.preferential;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 优惠记录
 *
 * @author sjk
 */
@Getter
@Setter
@ToString
public class UserStrokeOrderPreferentialLogDisplayDTO{
    @ExcelIgnore
    @JsonIgnore
    private static final String EXCEL_TITLE = "优惠记录";
    /**
     * 主键
     */
    @ExcelIgnore
    private String logId;
    /**
     * 订单ID
     */
    @ExcelProperty(value = {EXCEL_TITLE, "订单ID"})
    private String orderId;
    /**
     * 第三方订单ID
     */
    @ExcelProperty(value = {EXCEL_TITLE, "第三方订单ID"})
    private String thirdPartyOrderId;
    /**
     * 金额
     */
    @ExcelIgnore
    private BigDecimal price;
    /**
     * 金额显示
     */
    @ExcelProperty(value = {EXCEL_TITLE, "金额"})
    private String priceDisplay;
    /**
     * 实际支付金额
     */
    @ExcelIgnore
    private BigDecimal payAmount;
    /**
     * 实际支付金额显示
     */
    @ExcelProperty(value = {EXCEL_TITLE, "优惠金额"})
    private String payAmountDisplay;
    /**
     * 折扣
     */
    @ExcelProperty(value = {EXCEL_TITLE, "折扣"})
    private Double customerDiscount;
    /**
     * 优惠金额:这一单优惠了多少钱
     */
    @ExcelIgnore
    private BigDecimal discountAmount;
    /**
     * 优惠金额显示
     */
    @ExcelProperty(value = {EXCEL_TITLE, "优惠金额"})
    private String discountAmountDisplay;
    /**
     * 服务费
     */
    @ExcelIgnore
    private BigDecimal serviceCharge;
    /**
     * 服务费显示
     */
    @ExcelProperty(value = {EXCEL_TITLE, "服务费"})
    private String serviceChargeDisplay;
    /**
     * 开始时间
     */
    @ExcelProperty(value = {EXCEL_TITLE,"开始时间"})
    private LocalDateTime startTime;
    /**
     * 结束时间
     */
    @ExcelProperty(value = {EXCEL_TITLE,"结束时间"})
    private LocalDateTime endTime;
    /**
     * 支付状态
     */
    @ExcelIgnore
    private Integer payStatus;
    /**
     * 支付状态显示
     */
    @ExcelProperty(value = {EXCEL_TITLE,"支付状态"})
    private String payStatusDisplay;
    /**
     * 用户ID
     */
    @ExcelProperty(value = {EXCEL_TITLE,"用户ID"})
    private String userId;
    /**
     * 手机号
     */
    @ExcelProperty(value = {EXCEL_TITLE,"手机号"})
    private String mobile;
    /**
     * 车牌
     */
    @ExcelProperty(value = {EXCEL_TITLE,"车牌"})
    private String plateNumber;
    /**
     * 行程类型:0停车1充电
     */
    @ExcelIgnore
    private Integer tripType;
    /**
     * 行程类型显示
     */
    @ExcelProperty(value = {EXCEL_TITLE,"行程类型"})
    private String tripTypeDisplay;
    /**
     * 停车场名称
     */
    @ExcelProperty(value = {EXCEL_TITLE,"停车场名称"})
    private String parkName;
    /**
     * 平台标记:0壳牌1汽车之家2易加油
     */
    @ExcelIgnore
    private Integer platform;
    /**
     * 平台标记显示
     */
    @ExcelProperty(value = {EXCEL_TITLE, "平台"})
    private String platformDisplay;

    public void freeData() {
        this.thirdPartyOrderId = null;
        this.price = null;
        this.priceDisplay = null;
        this.customerDiscount = null;
        this.discountAmount = null;
        this.discountAmountDisplay = null;
        this.payAmount = null;
        this.payAmountDisplay = null;
        this.platform = null;
        this.orderId = null;
        this.startTime = null;
        this.endTime = null;
        this.payStatus = null;
        this.payStatusDisplay = null;
        this.tripType = null;
        this.tripTypeDisplay = null;
        this.userId = null;
        this.mobile = null;
        this.plateNumber = null;
        this.serviceCharge = null;
        this.serviceChargeDisplay = null;
    }
}
